package fr.ginvest.interfaces;

import java.util.Collection;

import javax.ejb.Remote;

import fr.ginvest.entity.Avancement;
import fr.ginvest.entity.Club;
import fr.ginvest.entity.Participation;
import fr.ginvest.entity.Stade;
import fr.ginvest.entity.Startup;

@Remote
public interface AvancementFacadeRemote {
	Avancement addAvancement(Avancement a);
	Avancement findAvancementById(int id);
	Avancement updateAvancement(Avancement a);
	void deleteAvancement(Avancement a);
	Collection<Stade> listStadeOfAvance(Avancement a);
	Collection<Avancement> listAvancementByClub(Club club);
	Avancement toNextStade(Avancement a, Stade nextStade);
	Avancement closeAvancement(Avancement a);
	boolean hasOpenAvancement(Club c, Startup s);
	Collection<Participation> listParticipationOfAvance(Avancement a);
}
